#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BUFFER_SIZE 1024

int str_send_user_(const char *input, char *yml, char *buf) {
    char str[BUFFER_SIZE]; // 用于存储输入字符串
    strncpy(str, input, BUFFER_SIZE); // 复制输入字符串，避免缓冲区溢出

    // 使用 strtok() 按 '_' 分割字符串
    char *token;
    char *last = NULL; // 用于存储最后一个部分
    char *second_last = NULL; // 用于存储倒数第二个部分

    // 分割字符串
    token = strtok(str, "_");
    while (token != NULL) {
        second_last = last; // 更新倒数第二个部分
        last = token; // 更新最后一个部分
        token = strtok(NULL, "_"); // 获取下一个子字符串
    }

    // 将最后两个部分存储到变量中
    if (last != NULL) {
        strcpy(buf, last); // 存储最后一个部分
    }
    if (second_last != NULL) {
        strcpy(yml, second_last); // 存储倒数第二个部分
    }

    return 0;
}

int main() {
    char username[256], buf[1024]; // 用于存储提取的部分

    // 调用函数
    str_send_user_("send_user_yml_buf", username, buf);

    // 打印结果
    printf("username: '%s'\n", username);
    printf("Buf: '%s'\n", buf);

    return 0;
}
